
(function($){
	$.addTitleView = function (viewOptions,extras,titleOptions){
		addTitleView(viewOptions,extras,titleOptions);
	}
}(mui))
/**
 * 打开带原生导航栏的新页面
 * @param {Object} viewOptions 地址  默认参数  {url:'',id:''}  不可扩展
 * @param {Object} extras 页面传值参数  默认参数{'life':'公司','isStorage':''},可扩展
 * @param {Object} titleOption 导航栏参数 默认参数 {title:'自在溧阳',backgroundColor:'#383a46',borderColor:'#fff',backData:'base64',backImg:null}  不可扩展
 * @description 添加原生titleView 页面
 */
function addTitleView (viewOptions,extras,titleOptions) {
	var bgRbg = '#2a2c33';
	if(window.plus){
		bgRbg = plus.navigator.getStatusBarBackground();
	}
	var defaultViewOptions ={
		url:'',
		id:''	
	},
	defaultExtras = {
		isTitle:false				
	},
	defaultTitleOptions = {
		title:'自在溧阳',
		titleColor:'#fff',
		backgroundColor:bgRbg,
		borderColor:bgRbg,
		backData:'base64',
		backImg:null
	};
	//es6 语法，目前浏览器好像没完全支持
//				Object.assign(defaultExtras,extras);
//				Object.assign(defaultViewOptions,viewOptions);                
	defaultViewOptions = extend(defaultViewOptions,viewOptions);
    defaultExtras = extend(defaultExtras,extras);
    defaultTitleOptions = extend(defaultTitleOptions,titleOptions);
    if(!defaultViewOptions.url || defaultViewOptions.url == ''){
    	return;
    }
    if(defaultTitleOptions.backImg){
    	switch(defaultTitleOptions.backImg){
    		case "whiteBack":
    		defaultTitleOptions.backImg = '';
    		break;
    		case "grayBack":
    		defaultTitleOptions.backImg = '';
    		break;	
    	}
    }
    if(!defaultExtras.isTitle){
    	mui.openWindow({
    		url:defaultViewOptions.url,
	    	id:defaultViewOptions.id,
	    	extras:defaultExtras
    	})
    }else{
    	mui.openWindowWithTitle({
			url:defaultViewOptions.url,
		    id:defaultViewOptions.id,
		    show:{
		    	autoShow:true,//页面loaded事件发生后自动显示，默认为true
		    },
		    waiting:{
		    	autoShow:true,//自动显示等待框，默认为true
		   		title:'加载中...',//等待对话框上显示的提示内容
		    },
		    extras:defaultExtras
		},{
			height:'44px',
			backgroundColor:defaultTitleOptions.backgroundColor,
			bottomBorderColor:defaultTitleOptions.borderColor,
			title:{
				text:defaultTitleOptions.title.trim(),
				styles:{
					color:defaultTitleOptions.titleColor.trim()
				}
			},
			back:{
		    	image:{
					base64Data:defaultTitleOptions.backImg
				}
			}	
		})
    }
}
/**
 * extend(simple)
 * @param {type} target
 * @param {type} source
 * @param {type} deep
 * @returns {unresolved}
 */
function extend() { //from jquery2
	var options, name, src, copy, copyIsArray, clone,
		target = arguments[0] || {},
		i = 1,
		length = arguments.length,
		deep = false;

	if (typeof target === "boolean") {
		deep = target;

		target = arguments[i] || {};
		i++;
	}

	if (typeof target !== "object" && !$.isFunction(target)) {
		target = {};
	}

	if (i === length) {
		target = this;
		i--;
	}

	for (; i < length; i++) {
		if ((options = arguments[i]) != null) {
			for (name in options) {
				src = target[name];
				copy = options[name];

				if (target === copy) {
					continue;
				}

				if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) {
					if (copyIsArray) {
						copyIsArray = false;
						clone = src && $.isArray(src) ? src : [];

					} else {
						clone = src && $.isPlainObject(src) ? src : {};
					}

					target[name] = $.extend(deep, clone, copy);

				} else if (copy !== undefined) {
					target[name] = copy;
				}
			}
		}
	}
	return target;
};
